home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AMOS PD CD
/
amospdcd.iso
/
aminet
/
amoslist0993.lzh
/
AMOSLIST2
/
000065_amos-request@svcs1.digex.net_Wed Sep 1 20:41:46 1993.msg
< prev
next >
Wrap
Internet Message Format
|
1993-09-03
|
5KB
Received: from nextsun.INS.CWRU.Edu by access.digex.net with SMTP id AA19329
(5.65c/IDA-1.4.4 for <mcox@access.digex.com>); Wed, 1 Sep 1993 20:41:43 -0400
Received: from svcs1.digex.net by nextsun.INS.CWRU.Edu with SMTP (5.65b+ida+/CWRU-1.5.2-freenet-gw)
id AA20177; Wed, 1 Sep 93 20:41:25 -0400 (from amos-request@svcs1.digex.net for mcox@access.digex.com)
Received: by svcs1.digex.net id AA13092
(5.65c/IDA-1.4.4 for amos-list-out); Wed, 1 Sep 1993 20:27:12 -0400
Received: from access.digex.net by svcs1.digex.net with SMTP id AA13088
(5.65c/IDA-1.4.4 for <amos-list@svcs1.digex.net>); Wed, 1 Sep 1993 20:27:10 -0400
Received: from bunyip.cc.uq.oz.au by access.digex.net with SMTP id AA14394
(5.65c/IDA-1.4.4 for <amos-list@access.digex.com>); Wed, 1 Sep 1993 20:27:03 -0400
Received: from elms.concept.com.au (actually 192.132.41.250)
by bunyip.cc.uq.oz.au with SMTP (PP); Thu, 2 Sep 1993 10:26:00 +1000
Received: by elms.concept.com.au (4.1/SMI-4.1) id AA28973;
Thu, 2 Sep 93 10:24:50 EST
Date: Thu, 2 Sep 93 10:24:50 EST
From: Tom Plackowski <tom@elms.concept.com.au>
Message-Id: <9309020024.AA28973@elms.concept.com.au>
To: 95ACHURCH@vax.mbhs.edu
Subject: Re: Jumping/flicker
Cc: amos-list@access.digex.net
Status: RO
>Subject: Re: Jumping/flicker
>>>If you're using Screen Offset to scroll, you have to remember that it will
>>>move the screen the MOMENT it's called.
>>>Try autoview off and do a view somewhere around the screen swap.
> Or have XOFS and YOFS variables, and a _WAIT_VBL procedure that does the
>Screen Offset right after the Wait Vbl. This is similar to what I do in a C
>program I have that needs to scroll a screen around, except I use the Vbl
>interrupt. I still get a bit of flicker, but little enough that I don't
>worry abot it.
What is an XOFS or a YOFS?
Theoretically, to move a screen around, I should be able to double buffer - and
update the nondisplayed screen at my convenience. At or during VBL I should be
able to swap screens (presumably just change a pointer somewhere) VERY QUICKLY.
I would be supprised to get ANY flicker - perhaps it would indicate that I am
trying to do too much or too many things after the start of VBL.
Do you NEED to Screen Offset just after Wait Vbl only because you are not
double buffering?
>>The scrolling is done using Scroll.
> This can get ugly in a single-buffered screen, because a Scroll is
>basically a Screen Copy. You could get part of the old picture and part of
>the new one displayed.
Ok, I'll keep that in mind.
The scrolled areas are the width of the screen (320?) but not very tall.
>>I didn't realise that the Double Buffer had to appear after the Open Screen.
> That does help. :-)
<fx: sheepish>
It did make a difference 8-).
>>Why does the manual always say
>> Screen Swap
>> Wait Vbl
>>in that order?
>>
>>Does Screen Swap do nothing until VBL? Or will this cause possible flicker on
>>the lower half of the screen?
>Seumas said:
>> ...
> Screen Swap switches the bitplane pointers in the Screen Base structure with
>the bitplanes that aren't currently displayed, and updates the copper list.
>However, the new bitmap is not displayed until after the vertical blanking
>period, as messing with an active copper list can result in some impressive
>fireworks displays. So if you do two Screen Swap commands before a vertical
>blank, you'll wind up with the original display staying there.
> It doesn't really matter whether you do Wait Vbl or Screen Swap first, as
>long as you have them both (or you have some other way to make sure you only
>do one Screen Swap per Vbl).
Ok! This is useful information!
So screen swap really means, "Swap Screen AT next VBL". (Or is that DURING, or
AFTER?)
In fact, it sounds CRUCIAL to have the Screen Swap BEFORE the Wait Vbl.
You might like to fill me in on the low level mechanism of the graphics/copper
stuff.
Correct this please:
1) Screen Swap adjusts pointers in Screen Base
1a) New copper list is created? Old one modified?
2) Video stuff is already committed to display the frame from the
original pointers, and continues to do so
3) At VBL the different set of copper instructions directs display to
come from the new bitplanes
?
And anyhow: How do you know these things? Have you looked at the AMOS source?
Is this just conjecture as to how it should be done? How you would do it? The
only way possible?
<fx: no offence! Just checking your credentials!>
> --Andy Church
Thanks Andy!
// Tom